home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
falcon
/
programm.ing
/
nt_dsp1.lzh
/
NT_DSP1.MSA
/
FFT
/
SINEWAVE.HLP
< prev
next >
Wrap
Text File
|
1990-01-17
|
1KB
|
32 lines
Name: SINEWAVE.ASM
Type: Assembler Macro
Version: 1.1
Date Revised: 25-Nov-86
Description: Full-Cycle Sinewave Table Generator Macro
This macro generates a full-cycle sinewave lookup table for FFT's,
precision waveform generation and modulation/demodulation functions.
The macro creates a full-cycle (360 degrees) of the sine waveform
of any size in any memory space. If the SINEWAVE macro is called
for a table of 256 points at addresses y:$100-$1FF, the table values
will be identical to those found in the DSP56001 Y Data ROM. Thus
the SINEWAVE macro can be used to simulate the contents of the
DSP56001 Y Data ROM.
Note that the assembler transcendental functions are used to
calculate the sinewave value, which has a range of -1.0 to +1.0.
The particular rounding used minimizes the total harmonic distortion
(THD) of the waveform. Since the resulting conversion to a fractional
number, f, may be outside the available range -1.0 =< f < +1.0, an
assembler warning message will appear when the sine(90 degrees) is
calculated.
WARNING - Floating point value outside fractional domain
This warning can be ignored and the assembler will substitute the
maximum positive ($7FFFFF) fractional data value.
The SINEWAVE macro can be used with the FFTR2D FFT macro to perform
complex FFT's up to 32768 points and real FFT's up to 65536 points.